
var prefix = "/output/outStorageDetail"
$(function() {
    inputbigAutocomplete();
    load();
    tabload();
    reLoad();
    getOutStorageDO       ();
    $("#submit").click(function(){
        var data =  $("#tab").bootstrapTable('getData');
        var select =  $("#select").val();
        var shopName =  $("#s_custemail").val();
        var phone = $("#phone").val();
        var address = $("#address").val();
        var linkname = $("#linkname").val();
        var oddNumbers = $("#oddNumbers").val();
        if(shopName == "" || shopName =="暂无此门店"){
            alert("请查看门店是否输入正确");
            return;
        }
        $.ajax({
            type: "GET",
            url: "/output/outStorage/shopNameISExist",
            async: false,
            data: { shopName : shopName},
            success: function(data){
                if (data!=true){
                    alert("请查看门店是否输入正确");
                    return;
                }

            }
        });
        if(phone == "" ){
            alert("手机号不能为空");
            return;
        }
        var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
        if (!myreg.test(phone)) {
            alert("请输入正确格式的联系方式");
            return ;
        }
        if(address == "" ){
            alert("收货地址不能为空");
            return;
        }
        if(linkname == "" ){
            alert("收货人不能为空");
            return;
        }
        if(oddNumbers == "" ){
            alert("单号不能为空");
            return;
        }
        var jslength=0;
        for(var js2 in data){
            jslength++;
        }
        if(jslength ==0){
            alert("请先选择商品");
            return;
        }
        var jslength=0;
        var mycars=new Array();
        for(var js2 in data){
            var datils = "datilGoodsid "+js2.id+""
            mycars[jslength] =
                jslength++;
        }
        console.log(data)
        var out = "{ shopName : "+shopName+",outstorageOrderid : "+select+"}";
        out =  JSON.stringify(out);
        console.log(eval(out))
        $.ajax({
            type: "POST",
            url: "/output/outStorage/saveOrder",
            data: { shopName : shopName,outstorageOrderid : select,oddNumbers : oddNumbers,linkmane : linkname, phone:phone,address:address},
            dataType: "json",
            success: function(data){

            }
        });
    })
});
function getOutStorageDO(){
    $.post("/output/outStorage/getOutStorageDO",function (data) {
        if(data != ""){
            $("#phone").val(data.phone);
            $("#address").val(data.address);
            $("#linkname").val(data.linkman);
            $("#s_custemail").val(data.shopName);
            $("#oddNumbers").val(data.oddNumbers);
            $("#select").val(data.outstorageOrderid);
        }
    })
}
function inputbigAutocomplete(){
    $("#s_custemail").bigAutocomplete({
        width:250,
        url:'/shop/shop/shopName',
        callback:function(data){
            if(data.title!="暂无此门店"){
                $("#phone").val(data.phone)
                $("#address").val(data.address)
                $("#linkname").val(data.linkname)
            }
        }
    })

}
function load() {

    $('#addtable')
        .bootstrapTable(
            {
                method : 'get', // 服务器数据的请求方式 get or post
                url : prefix + "/goodlistlist", // 服务器数据的加载地址
                iconSize : 'outline',
                toolbar : '#exampleToolbar',
                striped : true, // 设置为true会有隔行变色效果
                dataType : "json", // 服务器返回的数据类型
                pagination : true, // 设置为true会在底部显示分页条
                // queryParamsType : "limit",
                // //设置为limit则会发送符合RESTFull格式的参数
                singleSelect : false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize : 10, // 如果设置了分页，每页数据条数
                pageNumber : 1, // 如果设置了分布，首页页码
                //search : true, // 是否显示搜索框
                showColumns : false, // 是否显示内容下拉框（选择显示的列）
                sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
                queryParams : function(params) {
                    return {
                        //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                        limit: params.limit,
                        offset:params.offset
                        // name:$('#searchName').val(),
                        // username:$('#searchName').val()
                    };
                },
                // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                // queryParamsType = 'limit' ,返回参数必须包含
                // limit, offset, search, sort, order 否则, 需要包含:
                // pageSize, pageNumber, searchText, sortName,
                // sortOrder.
                // 返回false将会终止请求
                columns : [
                    {
                        field : 'stockGoodscode',
                        title : '商品编号'
                    },
                    {
                        field : 'stockGoodsname',
                        title : '商品名称'
                    },
                    {
                        field : 'stockOutNum',
                        title : '可出库数量'
                    }
                     ],
                onClickCell:function(field, value, row, $element){
                    var i=0;
                    var allTableData = $("#tab").bootstrapTable('getData');
                    for(;i<allTableData.length;i++){
                        if(allTableData[i].gCode==row.stockGoodscode){
                            alert("该商品已存在于该订单")
                            return;
                        }
                    }
                    if(row.stockOutNum <=0){
                        alert("该商品库存不足，请补货后下单")
                        return;
                    }
                    var outId = 0;
                    if(allTableData!= ""){
                        outId =allTableData[0].outId;
                    }
                    $.post(prefix+"/saveDetail",{code:row.stockGoodscode,oudId:outId},function(data){
                        tabreLoad();
                    })
                }
            });
}

function tabload() {
    $('#tab')
        .bootstrapTable(
            {
                method : 'get', // 服务器数据的请求方式 get or post
                url : prefix + "/list",
                //	showRefresh : true,
                //	showToggle : true,
                //	showColumns : true,
                iconSize : 'outline',
                striped : true,
                dataType : "json", // 服务器返回的数据类型

                // queryParamsType : "limit",
                // //设置为limit则会发送符合RESTFull格式的参数
                singleSelect : false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型

                //search : true, // 是否显示搜索框
                showColumns : false, // 是否显示内容下拉框（选择显示的列）
                queryParams : function(params) {
                    return {
                        //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                        limit: params.limit,
                        offset:params.offset
                        // name:$('#searchName').val(),
                        // username:$('#searchName').val()
                    };
                },
                // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                // queryParamsType = 'limit' ,返回参数必须包含
                // limit, offset, search, sort, order 否则, 需要包含:
                // pageSize, pageNumber, searchText, sortName,
                // sortOrder.
                // 返回false将会终止请求
                columns : [
                    {
                        field : 'datilGoodsid',
                        title : '商品编号'
                    },
                    {
                        field : 'gCode',
                        title : '商品编码'
                    },{
                        field : 'gName',
                        title : '商品名称'
                    },
                    {
                        field : 'datilStandard',
                        title : '商品规格'
                    },
                    {
                        field : 'datilPricingManner',
                        title : '单位'
                    },
                    {
                        title : '数量',
                        field : 'datilAmount',
                        align : 'center',
                        editable: {
                            type: 'text',
                            title: '单价',
                            validate: function (v) {
                                if (isNaN(v)) return '单价必须是数字';
                                var age = parseInt(v);
                                if (age <= 0) return '单价必须是正整数';
                            }
                        }

                    },
                    {
                        title : '单价',
                        field : 'price',
                        align : 'center',
                        editable: {
                            type: 'text',
                            title: '单价',
                            validate: function (v) {
                                if (isNaN(v)) return '单价必须是数字';
                                var age = parseInt(v);
                                if (age <= 0) return '单价必须是正整数';
                            }
                        }
                    },
                    {
                        title : '总价',
                        field : 'totalPrices',
                        align : 'center'

                    },
                    {
                        title : '操作',
                        field : 'id',
                        align : 'center',
                        formatter : function(value, row, index) {
                            var d = '<a class="btn btn-warning btn-sm " href="#" title="删除"  mce_href="#" onclick="remove(\''
                                + row.datilId
                                + '\')">删除</a> ';
                            return  d ;
                        }
                    }
                ],onEditableSave: function (field, row, oldValue, $el) {

                    $.ajax({
                        type: "post",
                        url: "/output/outStorageDetail/update ",
                        data: row,
                        dataType: 'JSON',
                        success: function (data, status) {
                            tabreLoad();
                            if (data.msg == "操作成功") {

                                alert('提交数据成功');
                            }else{

                                alert("库存不足,操作失败");
                            }

                        },
                        error: function () {
                            alert('编辑失败');
                        },
                        complete: function () {

                        }

                    });
                }
            });
}



function reLoad() {
    $('#addtable').bootstrapTable('refresh');
}
function tabreLoad() {
    $('#tab').bootstrapTable('refresh');
}
function onkey(who,number){ //输入事件
    who.value=who.value.replace(/\D/g,'');
    if(who.value>number){
        who.value = number;
    }
    var tr = $(who).parents("tr");
    var price = $(tr).find(".price").val();
    var pnumber = $(tr).find(".number").val();
    $(tr).find(".sum").text(price * pnumber);

}

function remove(id) {
    layer.confirm('确定要删除选中的记录？', {
        btn : [ '确定', '取消' ]
    }, function() {
        $.ajax({
            url : prefix+"/remove",
            type : "post",
            data : {
                'datilId' : id
            },
            success : function(r) {
                if (r.code==0) {
                    layer.msg(r.msg);
                    tabreLoad();
                    reLoad()
                }else{
                    layer.msg(r.msg);
                }
            }
        });
    })
}